#include <stdio.h>
#include <math.h>
int IsPrimer(int x)
{
    int flag = 0;
    int q = int(sqrt(x));
    for (int i = 2; i <= q; i++)
    {
        if (x % i == 0)
            flag = 1;
    }
    if (flag == 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    //freopen("in.txt", "r", stdin);
    int a, b;
    //计算是几位数之间
    scanf("%d %d", &a, &b);
    int first = 1, last = 1;
    int a1 = a;
    int b1 = b;
    while (a1 / 10)
    {
        first++;
        a1 = a1 / 10;
    }
    while (b1 / 10)
    {
        last++;
        b1 = b1 / 10;
    }
    for (int i = first; i <= last; i++)
    {
        if (i == 1)
        {
            for (int d1 = 1; d1 <= 9; d1++)
            {
                if (a <= d1 && d1 <= b)
                {
                    if (IsPrimer(d1))
                        printf("%d\n", d1);
                }
            }
        }
        if (i == 2)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                int palindrome = d1 * 10 + d1;
                if (a <= palindrome && palindrome <= b)
                {
                    if (IsPrimer(palindrome))
                        printf("%d\n", palindrome);
                }
            }
        }
        if (i == 3)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    int palindrome = d1 * 100 + d2 * 10 + d1;
                    if (a <= palindrome && palindrome <= b)
                    {
                        if (IsPrimer(palindrome))
                            printf("%d\n", palindrome);
                    }
                }
            }
        }
        if (i == 4)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    int palindrome = d1 * 1000 + d2 * 100 + d2 * 10 + d1;
                    if (a <= palindrome && palindrome <= b)
                    {
                        if (IsPrimer(palindrome))
                            printf("%d\n", palindrome);
                    }
                }
            }
        }
        if (i == 5)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            { // 只有奇数才会是素数
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    for (int d3 = 0; d3 <= 9; d3++)
                    {
                        int palindrome = 10000 * d1 + 1000 * d2 + 100 * d3 + 10 * d2 + d1; //(处理回文数...)
                        if (a <= palindrome && palindrome <= b)
                        {
                            if (IsPrimer(palindrome))
                                printf("%d\n", palindrome);
                        }
                    }
                }
            }
        }
        if (i == 6)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    for (int d3 = 0; d3 <= 9; d3++)
                    {
                        int palindrome = 100000 * d1 + 10000 * d2 + 1000 * d3 + 100 * d3 + 10 * d2 + d1;
                        if (a <= palindrome && palindrome <= b)
                        {
                            if (IsPrimer(palindrome))
                                printf("%d\n", palindrome);
                        }
                    }
                }
            }
        }
        if (i == 7)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    for (int d3 = 0; d3 <= 9; d3++)
                    {
                        for (int d4 = 0; d4 <= 9; d4++)
                        {
                            int palindrome = 1000000 * d1 + 100000 * d2 + 10000 * d3 + 1000 * d4 + 100 * d3 + 10 * d2 + d1;
                            if (a <= palindrome && palindrome <= b)
                            {
                                if (IsPrimer(palindrome))
                                    printf("%d\n", palindrome);
                            }
                        }
                    }
                }
            }
        }
        if (i == 8)
        {
            for (int d1 = 1; d1 <= 9; d1 += 2)
            {
                for (int d2 = 0; d2 <= 9; d2++)
                {
                    for (int d3 = 0; d3 <= 9; d3++)
                    {
                        for (int d4 = 0; d4 <= 9; d4++)
                        {
                            int palindrome = 10000000 * d1 + 1000000 * d2 + 100000 * d3 + 10000 * d4 + 1000 * d4 + 100 * d3 + 10 * d2 + d1;
                            if (a <= palindrome && palindrome <= b)
                            {
                                if (IsPrimer(palindrome))
                                    printf("%d\n", palindrome);
                            }
                        }
                    }
                }
            }
        }
    }
}